package com.lakudouzi.flink.cdc.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 *
 * @TableName contract
 */
@TableName(value ="contract")
@Data
public class Contract implements Serializable {
    /**
     *
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     *
     */
    private String field1;

    /**
     *
     */
    private String field2;

    /**
     *
     */
    private String field3;

    /**
     *
     */
    private String field4;

    /**
     *
     */
    private String field5;

    /**
     *
     */
    private String field6;

    /**
     *
     */
    private String field7;

    /**
     *
     */
    private String field8;

    /**
     *
     */
    private String field9;

    /**
     *
     */
    private String field10;

    /**
     *
     */
    private String field11;

    /**
     *
     */
    private String field12;

    /**
     *
     */
    private String field13;

    /**
     *
     */
    private String field14;

    /**
     *
     */
    private String field15;

    /**
     *
     */
    private String field16;



    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Contract other = (Contract) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getField1() == null ? other.getField1() == null : this.getField1().equals(other.getField1()))
            && (this.getField2() == null ? other.getField2() == null : this.getField2().equals(other.getField2()))
            && (this.getField3() == null ? other.getField3() == null : this.getField3().equals(other.getField3()))
            && (this.getField4() == null ? other.getField4() == null : this.getField4().equals(other.getField4()))
            && (this.getField5() == null ? other.getField5() == null : this.getField5().equals(other.getField5()))
            && (this.getField6() == null ? other.getField6() == null : this.getField6().equals(other.getField6()))
            && (this.getField7() == null ? other.getField7() == null : this.getField7().equals(other.getField7()))
            && (this.getField8() == null ? other.getField8() == null : this.getField8().equals(other.getField8()))
            && (this.getField9() == null ? other.getField9() == null : this.getField9().equals(other.getField9()))
            && (this.getField10() == null ? other.getField10() == null : this.getField10().equals(other.getField10()))
            && (this.getField11() == null ? other.getField11() == null : this.getField11().equals(other.getField11()))
            && (this.getField12() == null ? other.getField12() == null : this.getField12().equals(other.getField12()))
            && (this.getField13() == null ? other.getField13() == null : this.getField13().equals(other.getField13()))
            && (this.getField14() == null ? other.getField14() == null : this.getField14().equals(other.getField14()))
            && (this.getField15() == null ? other.getField15() == null : this.getField15().equals(other.getField15()))
            && (this.getField16() == null ? other.getField16() == null : this.getField16().equals(other.getField16()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getField1() == null) ? 0 : getField1().hashCode());
        result = prime * result + ((getField2() == null) ? 0 : getField2().hashCode());
        result = prime * result + ((getField3() == null) ? 0 : getField3().hashCode());
        result = prime * result + ((getField4() == null) ? 0 : getField4().hashCode());
        result = prime * result + ((getField5() == null) ? 0 : getField5().hashCode());
        result = prime * result + ((getField6() == null) ? 0 : getField6().hashCode());
        result = prime * result + ((getField7() == null) ? 0 : getField7().hashCode());
        result = prime * result + ((getField8() == null) ? 0 : getField8().hashCode());
        result = prime * result + ((getField9() == null) ? 0 : getField9().hashCode());
        result = prime * result + ((getField10() == null) ? 0 : getField10().hashCode());
        result = prime * result + ((getField11() == null) ? 0 : getField11().hashCode());
        result = prime * result + ((getField12() == null) ? 0 : getField12().hashCode());
        result = prime * result + ((getField13() == null) ? 0 : getField13().hashCode());
        result = prime * result + ((getField14() == null) ? 0 : getField14().hashCode());
        result = prime * result + ((getField15() == null) ? 0 : getField15().hashCode());
        result = prime * result + ((getField16() == null) ? 0 : getField16().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", field1=").append(field1);
        sb.append(", field2=").append(field2);
        sb.append(", field3=").append(field3);
        sb.append(", field4=").append(field4);
        sb.append(", field5=").append(field5);
        sb.append(", field6=").append(field6);
        sb.append(", field7=").append(field7);
        sb.append(", field8=").append(field8);
        sb.append(", field9=").append(field9);
        sb.append(", field10=").append(field10);
        sb.append(", field11=").append(field11);
        sb.append(", field12=").append(field12);
        sb.append(", field13=").append(field13);
        sb.append(", field14=").append(field14);
        sb.append(", field15=").append(field15);
        sb.append(", field16=").append(field16);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}
